perm filename COMPRE[S84,JMC] blob sn#752010 filedate 1984-04-24 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	compre[s84,jmc]		A proposal for revising the CSD Comprehensive Exam
C00004 ENDMK
CāŠ—;
compre[s84,jmc]		A proposal for revising the CSD Comprehensive Exam

	There is too much stuff to be covered on the Comprehensive,
and it's too much work to prepare and grade.  I propose the following
reform.

1. Eliminate artificial intelligence, hardware and numerical analysis.

2. This leaves
	a. logical foundations of computer science

	b. analysis of algorithms

	c. programming languages and systems

3. Give a three hour exam in each topic.

4. Give the exam once per year.

5. Include a one week programming project as formerly existed.

	I don't want to specify the precise content of any area in
this memo, but

	a. Logical foundations of computer science includes
mathematical logic through predicate calculus and the beginning
of set theory.  Robert Rogers's book would do.  It also includes
elementary material on the verification of programs including
both sequential and recursive programs.  There should also be
additional material on computability.

	b. P = NP might be included in analysis of algorithms.
This subject should also include important algorithms, e.g.
FFT, n log n sorting.

	c. Along with algol-like languages, assembly language,
LISP and Prolog are included.  Elements of parsing.